package com.goldgov.meetingstatistics.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.goldgov.meetingstatistics.bean.MeetingOrg;
import com.goldgov.meetingstatistics.bean.MeetingOrgQuery;
import com.goldgov.meetingstatistics.bean.MeetingParamsBean;
import com.goldgov.meetingstatistics.bean.OrgMeetingNumber;
import com.goldgov.meetingstatistics.bean.OrgMeetingSign;
import com.goldgov.meetingstatistics.bean.OrgMeetingTypeNumber;
import com.goldgov.synchronous.service.ConferenceSynchronous;

@Mapper
public interface MeetingStatisticsDao {
	
	/**
	 * 三会一课支部列表会议统计
	 * @date 2018年9月7日 上午10:15:25 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<MeetingOrg> findConOrgStatisticsList(@Param("query")MeetingOrgQuery query);
	
	
	/**
	 * 三会一课会议-某支部下各类型会议统计
	 * @date 2018年9月7日 上午10:17:16 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	OrgMeetingTypeNumber findConOrgMeetingTypeNumber(MeetingParamsBean meetingParamsBean);
	/**
	 * 三会一课考勤率统计 -- 月份or季度
	 * @date 2018年9月7日 上午10:18:22 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	OrgMeetingSign findMeetingSignByMonthOrQuarter(MeetingParamsBean meetingParamsBean);
	
	/**
	 * 三会一课支部会议统计根据月份或季度
	 * @date 2018年9月7日 上午10:15:56 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	OrgMeetingNumber findConOrgMettingMonthOrQuarter(MeetingParamsBean meetingParamsBean);
	/**
	 * 三会一课支部会议统计根据年
	 * @date 2018年9月7日 上午10:15:56 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	List<OrgMeetingNumber> findConOrgMettingYear(MeetingParamsBean meetingParamsBean);
	/**
	 * 三会一课考勤统计--年
	 * @date 2018年9月7日 上午10:15:56 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	List<OrgMeetingSign> findMeetingSignByYear(MeetingParamsBean meetingParamsBean);
	/**
	 * 三会一课调度
	 * @date 2018年9月7日 上午10:15:56 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	List<OrgMeetingTypeNumber> findConTypeNumByYearOrMonth(MeetingParamsBean meetingParamsBean);
	/**
	 * 三会一课时间段内有效会议数
	 * @param meetingParamsBean
	 * @return
	 */
	ConferenceSynchronous countOrgFinishRate(MeetingParamsBean meetingParamsBean);
	/**
	 * 查询支部信息并统计支部的会议数量
	 * @date 2018年10月25日 下午1:07:45 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<MeetingOrg> findOrgOrMeetingNumList(@Param("query")MeetingOrgQuery query);
	/**
	 * 查询支部信息并统计支部的考勤情况
	 * @date 2018年10月25日 下午1:07:45 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<MeetingOrg> findOrgAndMeetingSignList(@Param("query")MeetingOrgQuery query);
	
	
	
	/**
	 * 远程教育
	 */
	
	/**
	 * 远程教育次数统计 月or季度
	 * @date 2018年9月7日 上午10:15:56 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	OrgMeetingNumber findDisMeetingTimeByMOrQ(MeetingParamsBean meetingParamsBean);
	/**
	 * 远程教育次数统计 年
	 * @date 2018年11月23日 下午2:23:37 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	List<OrgMeetingNumber> findDisOrgMettingYear(MeetingParamsBean meetingParamsBean);
	/**
	 * 远程教育考勤统计--月or季度
	 * @date 2018年9月7日 上午10:15:56 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	OrgMeetingSign findDisCheckByMonthOrQuarter(MeetingParamsBean meetingParamsBean);
	
	/**
	 * 远程教育考勤统计--年
	 * @date 2018年9月7日 上午10:15:56 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	List<OrgMeetingSign> findDisCheckByYear(MeetingParamsBean meetingParamsBean);
	
	/**
	 * 远程教育 -- 查询支部信息并统计支部的会议数量
	 * @date 2018年10月25日 下午1:07:45 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<MeetingOrg> findDisMeetingNumList(@Param("query")MeetingOrgQuery query);
	/**
	 * 远程教育 -- 查询支部信息并统计支部的考勤情况
	 * @date 2018年10月25日 下午1:07:45 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<MeetingOrg> findDisMeetingSignList(@Param("query")MeetingOrgQuery query);
	
	/**
	 * 远程教育end
	 */
	
	
	
	
}
